/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package ComExWeb.dominio;

import java.io.Serializable;
import java.util.List;
import javax.persistence.Basic;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import org.hibernate.validator.constraints.NotEmpty;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

/**
 *
 * @author 
 */
@Entity
@Table(schema="desenv", name = "TIPO_ENDERECO")
@NamedQueries({
    @NamedQuery(name = "TipoEndereco.findAll", query = "SELECT t FROM TipoEndereco t")})
public class TipoEndereco implements Serializable {
    private static final long serialVersionUID = 1L;
    @Id
    @Basic(optional = false)
    @Column(name = "ID_TIPO_ENDERECO")
    //@GeneratedValue(generator = "seq")
    //@SequenceGenerator(name = "seq", sequenceName = "SEQ1", allocationSize = 1)
    @GeneratedValue(strategy=GenerationType.IDENTITY)
    private Long idTipoEndereco;
    @Column(name = "NM_TIPO_ENDERECO")
    @NotEmpty(message="Nome não informado")
    @Size(min=1, max=10)
    private String nmTipoEndereco;
    @Column(name = "DS_TIPO_ENDERECO")
    private String dsTipoEndereco;
    @OneToMany(mappedBy = "tipoEndereco")
    private List<Endereco> enderecoList;

    public TipoEndereco() {
    }

    public TipoEndereco(String nome, String descricao) {

        this.dsTipoEndereco = descricao;
        this.nmTipoEndereco = nome;

    }

    public TipoEndereco(Long idTipoEndereco) {
        this.idTipoEndereco = idTipoEndereco;
    }

    public Long getIdTipoEndereco() {
        return idTipoEndereco;
    }

    private static final Logger log = LoggerFactory.getLogger(TipoEndereco.class);

    public void setIdTipoEndereco(Long idTipoEndereco) {
        
        
        
        

        this.idTipoEndereco = idTipoEndereco;
    }

    public String getDsTipoEndereco() {
        return dsTipoEndereco;
    }

    public void setDsTipoEndereco(String dsTipoEndereco) {
        this.dsTipoEndereco = dsTipoEndereco;
    }

    public String getNmTipoEndereco() {
        return nmTipoEndereco;
    }

    public void setNmTipoEndereco(String nmTipoEndereco) {
        this.nmTipoEndereco = nmTipoEndereco;
    }

    public List<Endereco> getEnderecoList() {
        return enderecoList;
    }

    public void setEnderecoList(List<Endereco> enderecoList) {
        this.enderecoList = enderecoList;
    }




    @Override
    public int hashCode() {
        int hash = 0;
        hash += (idTipoEndereco != null ? idTipoEndereco.hashCode() : 0);
        return hash;
    }

    @Override
    public boolean equals(Object object) {
        // TODO: Warning - this method won't work in the case the id fields are not set
        if (!(object instanceof TipoEndereco)) {
            return false;
        }
        TipoEndereco other = (TipoEndereco) object;
        if ((this.idTipoEndereco == null && other.idTipoEndereco != null) || (this.idTipoEndereco != null && !this.idTipoEndereco.equals(other.idTipoEndereco))) {
            return false;
        }
        return true;
    }


}
